package com.plian.system.vo.pm.bond;

import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.*;

import java.math.BigDecimal;
import java.util.List;

/**
 * @description:
 * @author: gangan
 * @create: 2020-11-20 17:06
 */
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Data
@EqualsAndHashCode
@JsonInclude(JsonInclude.Include.NON_NULL)
public class BondSummaryInfoVO {

    /**
     * 企业级次
     */
    private String enterpriseGrade;

    /**
     *
     */
    private String enterpriseGradeName;

    /**
     * 出资企业
     */
    private String groupCompanyName;

    /**
     * 债券发行期限
     */
    private String releaseDeadline;

    /**
     * 存续债券到期年份
     */
    private String expirationYear;

    /**
     * 发债主体
     */
    private String issuerName;

    private String issuer;

    /**
     * 债券类型
     */
    private String bondType;

    /**
     * 债券类型名称
     */
    private String bondTypeName;

    /**
     * 申报额度
     */
    private BigDecimal declaredAmount;

    /**
     *  剩余可用额度
     */
    private BigDecimal surplusAmount;

    /**
     * 发行金额
     */
    private BigDecimal issueAmount;

    /**
     * 存续债券余额
     */
    private BigDecimal balanceAmount;

    /**
     * 实际发行金额（亿元）
     */
    private BigDecimal extensionAmount;

    /**
     * 年度新增注册额度
     */
    private BigDecimal addAmount;

    /**
     * 年度新增发行额度
     */
    private BigDecimal addIssueAmount;

    /**
     * 年内到期债券金额（亿元）
     */
    private BigDecimal expireAmount;

    /**
     * 是否合计
     */
    private Integer isSummary;

    /**
     * 债券名称
     */
    private String bondName;

    /**
     * 发行比例
     */
    private BigDecimal ratio;

    /**
     * 企业id 债券品种等统计表穿透用
     */
    private List<String> orgIds;

    /**
     * 企业id 发债主体统计表穿透用
     */
    private List<String> issuers;

    /**
     * 债券类型统计表 穿透用
     */
    private List<String> bondTypes;

    /**
     * 债券到期 年份  穿透用
     */
    private Integer year;


    private BigDecimal tempBalanceAmount;

    private BigDecimal tempIssueAmount;


    public int getSortNumber(){
        if ("1年（含）以内".equals(releaseDeadline)){
            return 1;
        }
        if ("1-3年（含）以内".equals(releaseDeadline)){
            return 2;
        }
        if ("3-5年（含）以内".equals(releaseDeadline)){
            return 3;
        }
        if ("5-10年（含）以内".equals(releaseDeadline)){
            return 4;
        }
        if ("其他".equals(releaseDeadline)){
            return 5;
        }
        return 6;

    }

}
